<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="model.EbenenRepository"%>
<%@page import="model.Ebene"%>
<%@page import="helper.Export"%>
<%@page import="model.Feld"%>
<%@page import="model.Benutzer"%>
<%@include file="includes/Header.jsp" %>
				<%  Ebene eAlt = null;
					EbenenRepository ebenenRepository = EbenenRepository.getInstance();
					Ebene e = (Ebene)request.getAttribute("ebene");
					Ebene[] versionen = ebenenRepository.getEbeneNachId(e.getId()); // ausgewählte oder neueste ebene egal (unabhängiger von controller)
					// Versionen sortieren (Selection Sort)
					int max;
					Ebene tmp;
					for(int i=0; i<versionen.length; i++) {
						max = i;
						if(request.getParameter("ebenenId").equals(""+versionen[i].getErstellungszeit())) {
							eAlt = versionen[i]; // ausgewählte alte version
						}
						for(int j=i+1; j<versionen.length; j++) {
							if(versionen[j].getErstellungszeit() > versionen[max].getErstellungszeit()) {
								max = j;
							}
						}
						tmp = versionen[i];
						versionen[i] = versionen[max];
						versionen[max] = tmp;
					}
					e = versionen[0]; // neuste Ebene
					%>
				<%@include file="includes/Tabs.jsp" %>
          		<form class="formulare einrichtenform" method="post" action="Bearbeiten?ebenenId=<%= e.getId() %>">
                    <div class="farbfläche">
                        <input class="button-input" type="submit" name="speichern" value="Speichern">
                        <input class="button-input" type="submit" style="margin-left:5px" name="speichernundabschl" value="Speichern und Abschließen">
                        <input class="button-input" type="submit" style="margin-left:40px" name="abbrechen" value="Abbrechen"> 
                        <div style="float:right;" class="helper_l">
							<span>
								Auf der linken Seite können Sie den zu speichernden Zustand eintragen.
								<br>Auf der rechten Seite können Sie eine Vergleichsversion wählen und mit <b><i>&lt;</i></b> die Attributwerte von rechts nach links übernehmen.
								<br> Sind die Werte <font color="blue">blau</font>, stimmen sie nicht mit den Werten links überein.
								<br>Mit "Speichern" werden die Inhalte gespeichert. Mit "Speichern und Abschließen" werden die bisherigen Änderungen bestätigt bzw. freigegeben.
							</span>
						</div>
                    </div>
                   
                    <table class="table">
                    	<tr>
                    		<td colspan="4"><h1><%= e.getName() %></h1></td>
                    	</tr>
                    	<tr>
                    		<td style="padding-top: 0px;">Verantwortliche</td>
                    		<td style="padding-top: 0px;"><span><%
								Benutzer[] vorhandeneVerantwortlich;
								if(e.getVerantwortlich() != null && e != null){
									vorhandeneVerantwortlich= e.getVerantwortlich();
									for(int i = 0; i < vorhandeneVerantwortlich.length; i++){
										out.print(vorhandeneVerantwortlich[i].getVorname()+" "+vorhandeneVerantwortlich[i].getNachname()+", Email: "+vorhandeneVerantwortlich[i].getEmail()+"<br>");
									}
								}
								%></span></td>
                    	</tr>
                    	<tr>
                    		<td style="padding-top: 5px;">Redakteure</td>
                    		<td style="padding-top: 5px;"><span><%
								Benutzer[] vorhandeneRedakteure;
								if(e.getRedakteur() != null && e != null){
									vorhandeneRedakteure= e.getRedakteur();
									for(int i = 0; i < vorhandeneRedakteure.length; i++){
										out.print(vorhandeneRedakteure[i].getVorname()+" "+vorhandeneRedakteure[i].getNachname()+", Email: "+vorhandeneRedakteure[i].getEmail()+"<br>");
									}
								}
								%></span></td>
                    	</tr>
                    	<tr>
                    		<th width="100">&nbsp;</th>
                    		<th  width="45%"><b>Aktuelle Version</b></th>
                    		<th width="40">&nbsp;</th>
                    		<th><b>Vergleich:</b>
	                    		<select class="einrichtenSelect" name="version"  size="1">
		                          <% GregorianCalendar calendar = new GregorianCalendar();
		                          	 String year, month, day, hour, min;
		                          	 for(int i=0; i<versionen.length; i++) {
		                          		 calendar.setTimeInMillis(versionen[i].getErstellungszeit());
		                         		 year = "" + calendar.get(Calendar.YEAR);
		                        		 month = "" + (calendar.get(Calendar.MONTH) + 1);
		                        		 if(month.length() < 2) { month = "0" + month; }
		                        		 day = "" + calendar.get(Calendar.DAY_OF_MONTH);
		                        		 if(day.length() < 2) { day = "0" + day; }
		                        		 hour = "" + calendar.get(Calendar.HOUR_OF_DAY);
		                        		 if(hour.length() < 2) { hour = "0" + hour; }
		                        		 min = "" + calendar.get(Calendar.MINUTE);
		                        		 if(min.length() < 2) { min = "0" + min; }
		                        		 String dropdowncolor = "";
			                       		 	switch (versionen[i].getRedaktionszustand()) {
			                       		 		case Ebene.ZUSTAND_AKZEPTIERT_BEIDE: dropdowncolor="#00b804";  break;
			                       		 		case Ebene.ZUSTAND_AKZEPTIERT_DEZ2: dropdowncolor="#fffc00";  break;
			                       		 		case Ebene.ZUSTAND_AKZEPTIERT_REDAKT: dropdowncolor="#fffc00";  break;
			                       				case Ebene.ZUSTAND_GEAENDERT: dropdowncolor="#ffb400";  break;
			                       				case Ebene.ZUSTAND_UNBEARBEITET: dropdowncolor="#f00000";  break;
			                       		 	}
		                        		 
		                          		 %>
	                          		<option style="background:<%= dropdowncolor %>" id="<%= 
	                          			versionen[i].getId() %>" erstellungszeit="<%= 
	                          			versionen[i].getErstellungszeit() %>" value="<%= 
	                          			"Bearbeiten?ebenenId="+ e.getId() +"&ebenenVer="+
	                          			versionen[i].getErstellungszeit() %>" <%= 
	                          			versionen[i]==eAlt?"selected":"" %>><%= 
	                          			hour+":"+min+" Uhr - "+day+"."+month+"."+year %></option>
                         	 	<% } %>
                        		</select>
                        		<div style="float:right;" class="helper_l">
									<span>
										<font color="#00b804">gr&uuml;n</font> - aktuelle Version
										<br>
              		 					<font color="#fffc00">gelb</font> - von Redakteur ODER Dezernat2 best&auml;tigt
              		 					<br>
              		 					<font color="#ffb400">orange</font> - von Ebenenverantwortlichem bearbeitet
              							<br>
              							<font color="#f00000">rot</font> - nicht bearbeitet
									</span>
								</div>
                        	</th>
                    	</tr>
                    
                        <% if(e.getProsa() != null) { %>
                        
                        <tr>
                        	
                        	<td colspan="2">
                            	<b>Einleitungstext:</b><br> <br>
                            	<textarea class="ziel<%= e.getProsa().getId() %> zielprosa" rows="8" style="width:100%" name="prosa"><%= e.getProsa().getWert() %></textarea>
                        		<br><br>
                        		<b>Tabelle:</b>
                        	</td>
                        	<td><input type="submit" class="button-input uebernehmen uebernehmenprosa" id="<%= e.getProsa().getId() %>" value="&lt;" /></td>
                            <td><pre><span class="quelle quelle<%= e.getProsa().getId() %> quelleprosa" quelle="prosa"></span></pre></td>
                        <% } %>
                   
                    
                    	<% 	Feld[] felder = e.getFeld();
                    		if(felder != null) {
	                    		for(int i=0; i<felder.length; i++) { %>
                    	<tr <% if(isRedakteur && !tabsVer && tabsRed && (felder[i].isDez2relevant()) && !isDezernat2){out.print("style=\"opacity:0.5;\"");}
                    		if(!tabsVer && !tabsRed && !(felder[i].isDez2relevant()) && isDezernat2){out.print("style=\"opacity:0.5;\"");} %>>
                        	<td style="text-align:right;">
                            	<%= felder[i].getName() %>:
                            </td>
                            <td>
                            	<% if(felder[i].getTyp()==Feld.TYP_TEXT_MEHRZEILIG) { %>
                            	<textarea class="ziel<%= felder[i].getId() %>" name="feld<%= felder[i].getId() %>" rows="5" style="width:400px"><%= Export.convertHtml(felder[i].getWert()) %></textarea>
                            	<% } else if(felder[i].getTyp()==Feld.TYP_ZAHL) { %>
                            	<input number class="number ziel<%= felder[i].getId() %>" type="<%= felder[i].getTyp()==Feld.TYP_TEXT_EINZEILIG?"text":"number" %>" name="feld<%= felder[i].getId() %>" value="<%= Export.convertHtml(felder[i].getWert()) %>" style="width:400px">
                            	<% } else { %>
		                        <input class="ziel<%= felder[i].getId() %>" type="<%= felder[i].getTyp()==Feld.TYP_TEXT_EINZEILIG?"text":"number" %>" name="feld<%= felder[i].getId() %>" value="<%= Export.convertHtml(felder[i].getWert()) %>" style="width:400px">
                            	
                            	<% } %>
                            </td>
                            <td><input type="submit" class="button-input uebernehmen uebernehmen<%=felder[i].getId() %>" id="<%= felder[i].getId() %>" value="&lt;" /></td>
                            <td><pre><span class="quelle quelle<%=felder[i].getId() %>" quelle="<%= felder[i].getId() %>"></span></pre></td>
                        </tr>
   						<%		}
                    		} %>
                    </table>                  
                </form>
<%@include file="includes/Footer.jsp" %>
